﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace BanVeXemPhim_Presentation
{
    public partial class UserControlChonGhe : UserControl
    {
        public UserControlChonGhe()
        {
            InitializeComponent();
        }
        public delegate void Back();
        public event Back BackClickEvent;
        public delegate void Finish();
        public event Finish FinishClickEvent;
        public delegate void DatVeTruoc();
        public event DatVeTruoc DatVeTruocEvent;
        private DoiTuongMuaDTO[] _dsDoiTuongMua;

        public DoiTuongMuaDTO[] DsDoiTuongMua
        {
            get { return _dsDoiTuongMua; }
            set { _dsDoiTuongMua = value; }
        }

        public void CapNhatDanhSachGheTheoRapChieu(GheDTO[] gheDtos)
        {
            this.userControlRapChieu1.DsGhe = gheDtos;
        }
        public void CapNhatTinhTrangCacGheDaDat(GheDTO[] dsghe)
        {
            this.userControlRapChieu1.CapNhatTinhTrangGheDaDat(dsghe);
        }
        private void buttonBack_Click(object sender, EventArgs e)
        {
            if(BackClickEvent!=null)
            {
                BackClickEvent();
            }
        }

        public void CapNhatThongTinXuatChieu(XuatChieuDTO xuatChieuDto)
        {
            this.labelNgayChieu.Text = xuatChieuDto.NgayChieu.ToShortDateString().ToString();
            this.labelGioChieu.Text = xuatChieuDto.GioChieu.ToShortTimeString().ToString();
            this.labelRapChieu.Text = xuatChieuDto.RapChieu.ToString();
        }

        public GheDTO[] DanhSachGheDuocChon()
        {
            return this.userControlRapChieu1.DanhSachGheDuocChon();
        }

        public void CapNhatDanhSachDoiTuongMua(DoiTuongMuaDTO[] ds)
        {
            this.DsDoiTuongMua = ds;
            int n = ds.Length;
            this.comboBoxDoiTuong.Items.Clear();
            for(int i=0;i<n;i++) 
            {
                this.comboBoxDoiTuong.Items.Add(ds[i].TenDoiTuong);
            }
            this.comboBoxDoiTuong.SelectedIndex = 0;
        }

        public int LayIDDoiTuongMua()
        {
            if(this.comboBoxDoiTuong.SelectedIndex<0)
            {
                return 1;
            }
            else
            {
                for(int i=0;i<DsDoiTuongMua.Length;i++)
                {
                    if (this.comboBoxDoiTuong.Text == DsDoiTuongMua[i].TenDoiTuong)
                        return DsDoiTuongMua[i].IdDoiTuong;
                }
                return 1;
            }
        }

        //Bán vé.
        private void buttonFinish_Click(object sender, EventArgs e)
        {
            if(FinishClickEvent!=null)
            {
                FinishClickEvent();
            }
        }

        //Xử lý đặt vé trước
        private void buttonDatVeTruoc_Click(object sender, EventArgs e)
        {
            //Hiện dialog nhập thông tin khách hàng
            if(DatVeTruocEvent!=null)
            {
                DatVeTruocEvent();
            }
        }
    }
}
